package com.example.socialapp.ui.auth.login

import com.example.socialapp.ui.base.mvi.MviIntent

/**
 * Intents for the login screen
 */
sealed class LoginIntent : MviIntent {
    /**
     * Update the email input
     */
    data class UpdateEmail(val email: String) : LoginIntent()
    
    /**
     * Update the password input
     */
    data class UpdatePassword(val password: String) : LoginIntent()
    
    /**
     * Toggle remember me checkbox
     */
    data class ToggleRememberMe(val rememberMe: Boolean) : LoginIntent()
    
    /**
     * Submit login form
     */
    data object SubmitLogin : LoginIntent()
    
    /**
     * Navigate to registration screen
     */
    data object NavigateToRegister : LoginIntent()
    
    /**
     * Navigate to forgot password screen
     */
    data object NavigateToForgotPassword : LoginIntent()
    
    /**
     * Login with Google
     */
    data object LoginWithGoogle : LoginIntent()
    
    /**
     * Login with Facebook
     */
    data object LoginWithFacebook : LoginIntent()
    
    /**
     * Login with Apple
     */
    data object LoginWithApple : LoginIntent()
} 